#pragma once
// MESSAGE PX4_TO_AGX_DEDICATE_INFO PACKING

#define MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO 206


typedef struct __mavlink_px4_to_agx_dedicate_info_t {
 uint32_t time_boot_ms; /*< [ms] Timestamp (time since system boot)*/
 uint32_t nav_pack_cnt; /*<  navigation package counts*/
 int32_t ax; /*<  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system*/
 int32_t ay; /*<  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system*/
 int32_t az; /*<  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system*/
 int16_t PodxShift; /*<  Shift in x-axis*/
 int16_t PodyShift; /*<  Shift in y-axis*/
 int16_t PodRoll; /*<  Roll angle of pod*/
 int16_t PodPitch; /*<  Pitch angle of pod*/
 int16_t PodYaw; /*<  Yaw angle of pod*/
 int16_t Podatt_Roll; /*<  Roll angle of attitude*/
 int16_t Podatt_Pitch; /*<  Pitch angle of attitude*/
 int16_t PodrollAngleVelocity; /*<  Roll angle velocity of pod*/
 int16_t PodpitchAngleVelocity; /*<  Pitch angle velocity of pod*/
 int16_t PodyawAngleVelocity; /*<  Yaw angle velocity of pod*/
 uint16_t PodLasDistance; /*<  Last measured distance by pod*/
 uint8_t target_system; /*<  System ID*/
 uint8_t target_component; /*<  Component ID*/
 uint8_t nav_status; /*<  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error*/
 uint8_t nav_flag; /*<  navigation flag, the exactly definition is unclear*/
 uint8_t PodStatus1; /*<  Status of pod 1, from seeker which is unused in software in ring simulation*/
 uint8_t PodStatus2; /*<  Status of pod 2*/
 uint8_t PodStatus3; /*<  Status of pod 3*/
 uint8_t PodStatus4; /*<  Status of pod 4*/
 uint8_t PodChekFlag; /*<  Pod check flag*/
} mavlink_px4_to_agx_dedicate_info_t;

#define MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN 51
#define MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN 51
#define MAVLINK_MSG_ID_206_LEN 51
#define MAVLINK_MSG_ID_206_MIN_LEN 51

#define MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC 90
#define MAVLINK_MSG_ID_206_CRC 90



#if MAVLINK_COMMAND_24BIT
#define MAVLINK_MESSAGE_INFO_PX4_TO_AGX_DEDICATE_INFO { \
    206, \
    "PX4_TO_AGX_DEDICATE_INFO", \
    25, \
    {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_px4_to_agx_dedicate_info_t, time_boot_ms) }, \
         { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_px4_to_agx_dedicate_info_t, target_system) }, \
         { "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_px4_to_agx_dedicate_info_t, target_component) }, \
         { "nav_pack_cnt", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_pack_cnt) }, \
         { "nav_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_status) }, \
         { "nav_flag", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_flag) }, \
         { "ax", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_px4_to_agx_dedicate_info_t, ax) }, \
         { "ay", NULL, MAVLINK_TYPE_INT32_T, 0, 12, offsetof(mavlink_px4_to_agx_dedicate_info_t, ay) }, \
         { "az", NULL, MAVLINK_TYPE_INT32_T, 0, 16, offsetof(mavlink_px4_to_agx_dedicate_info_t, az) }, \
         { "PodStatus1", NULL, MAVLINK_TYPE_UINT8_T, 0, 46, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus1) }, \
         { "PodStatus2", NULL, MAVLINK_TYPE_UINT8_T, 0, 47, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus2) }, \
         { "PodStatus3", NULL, MAVLINK_TYPE_UINT8_T, 0, 48, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus3) }, \
         { "PodStatus4", NULL, MAVLINK_TYPE_UINT8_T, 0, 49, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus4) }, \
         { "PodxShift", NULL, MAVLINK_TYPE_INT16_T, 0, 20, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodxShift) }, \
         { "PodyShift", NULL, MAVLINK_TYPE_INT16_T, 0, 22, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodyShift) }, \
         { "PodRoll", NULL, MAVLINK_TYPE_INT16_T, 0, 24, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodRoll) }, \
         { "PodPitch", NULL, MAVLINK_TYPE_INT16_T, 0, 26, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodPitch) }, \
         { "PodYaw", NULL, MAVLINK_TYPE_INT16_T, 0, 28, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodYaw) }, \
         { "Podatt_Roll", NULL, MAVLINK_TYPE_INT16_T, 0, 30, offsetof(mavlink_px4_to_agx_dedicate_info_t, Podatt_Roll) }, \
         { "Podatt_Pitch", NULL, MAVLINK_TYPE_INT16_T, 0, 32, offsetof(mavlink_px4_to_agx_dedicate_info_t, Podatt_Pitch) }, \
         { "PodrollAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 34, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodrollAngleVelocity) }, \
         { "PodpitchAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 36, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodpitchAngleVelocity) }, \
         { "PodyawAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 38, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodyawAngleVelocity) }, \
         { "PodLasDistance", NULL, MAVLINK_TYPE_UINT16_T, 0, 40, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodLasDistance) }, \
         { "PodChekFlag", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodChekFlag) }, \
         } \
}
#else
#define MAVLINK_MESSAGE_INFO_PX4_TO_AGX_DEDICATE_INFO { \
    "PX4_TO_AGX_DEDICATE_INFO", \
    25, \
    {  { "time_boot_ms", NULL, MAVLINK_TYPE_UINT32_T, 0, 0, offsetof(mavlink_px4_to_agx_dedicate_info_t, time_boot_ms) }, \
         { "target_system", NULL, MAVLINK_TYPE_UINT8_T, 0, 42, offsetof(mavlink_px4_to_agx_dedicate_info_t, target_system) }, \
         { "target_component", NULL, MAVLINK_TYPE_UINT8_T, 0, 43, offsetof(mavlink_px4_to_agx_dedicate_info_t, target_component) }, \
         { "nav_pack_cnt", NULL, MAVLINK_TYPE_UINT32_T, 0, 4, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_pack_cnt) }, \
         { "nav_status", NULL, MAVLINK_TYPE_UINT8_T, 0, 44, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_status) }, \
         { "nav_flag", NULL, MAVLINK_TYPE_UINT8_T, 0, 45, offsetof(mavlink_px4_to_agx_dedicate_info_t, nav_flag) }, \
         { "ax", NULL, MAVLINK_TYPE_INT32_T, 0, 8, offsetof(mavlink_px4_to_agx_dedicate_info_t, ax) }, \
         { "ay", NULL, MAVLINK_TYPE_INT32_T, 0, 12, offsetof(mavlink_px4_to_agx_dedicate_info_t, ay) }, \
         { "az", NULL, MAVLINK_TYPE_INT32_T, 0, 16, offsetof(mavlink_px4_to_agx_dedicate_info_t, az) }, \
         { "PodStatus1", NULL, MAVLINK_TYPE_UINT8_T, 0, 46, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus1) }, \
         { "PodStatus2", NULL, MAVLINK_TYPE_UINT8_T, 0, 47, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus2) }, \
         { "PodStatus3", NULL, MAVLINK_TYPE_UINT8_T, 0, 48, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus3) }, \
         { "PodStatus4", NULL, MAVLINK_TYPE_UINT8_T, 0, 49, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodStatus4) }, \
         { "PodxShift", NULL, MAVLINK_TYPE_INT16_T, 0, 20, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodxShift) }, \
         { "PodyShift", NULL, MAVLINK_TYPE_INT16_T, 0, 22, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodyShift) }, \
         { "PodRoll", NULL, MAVLINK_TYPE_INT16_T, 0, 24, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodRoll) }, \
         { "PodPitch", NULL, MAVLINK_TYPE_INT16_T, 0, 26, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodPitch) }, \
         { "PodYaw", NULL, MAVLINK_TYPE_INT16_T, 0, 28, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodYaw) }, \
         { "Podatt_Roll", NULL, MAVLINK_TYPE_INT16_T, 0, 30, offsetof(mavlink_px4_to_agx_dedicate_info_t, Podatt_Roll) }, \
         { "Podatt_Pitch", NULL, MAVLINK_TYPE_INT16_T, 0, 32, offsetof(mavlink_px4_to_agx_dedicate_info_t, Podatt_Pitch) }, \
         { "PodrollAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 34, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodrollAngleVelocity) }, \
         { "PodpitchAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 36, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodpitchAngleVelocity) }, \
         { "PodyawAngleVelocity", NULL, MAVLINK_TYPE_INT16_T, 0, 38, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodyawAngleVelocity) }, \
         { "PodLasDistance", NULL, MAVLINK_TYPE_UINT16_T, 0, 40, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodLasDistance) }, \
         { "PodChekFlag", NULL, MAVLINK_TYPE_UINT8_T, 0, 50, offsetof(mavlink_px4_to_agx_dedicate_info_t, PodChekFlag) }, \
         } \
}
#endif

/**
 * @brief Pack a px4_to_agx_dedicate_info message
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
 *
 * @param time_boot_ms [ms] Timestamp (time since system boot)
 * @param target_system  System ID
 * @param target_component  Component ID
 * @param nav_pack_cnt  navigation package counts
 * @param nav_status  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error
 * @param nav_flag  navigation flag, the exactly definition is unclear
 * @param ax  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param ay  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param az  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param PodStatus1  Status of pod 1, from seeker which is unused in software in ring simulation
 * @param PodStatus2  Status of pod 2
 * @param PodStatus3  Status of pod 3
 * @param PodStatus4  Status of pod 4
 * @param PodxShift  Shift in x-axis
 * @param PodyShift  Shift in y-axis
 * @param PodRoll  Roll angle of pod
 * @param PodPitch  Pitch angle of pod
 * @param PodYaw  Yaw angle of pod
 * @param Podatt_Roll  Roll angle of attitude
 * @param Podatt_Pitch  Pitch angle of attitude
 * @param PodrollAngleVelocity  Roll angle velocity of pod
 * @param PodpitchAngleVelocity  Pitch angle velocity of pod
 * @param PodyawAngleVelocity  Yaw angle velocity of pod
 * @param PodLasDistance  Last measured distance by pod
 * @param PodChekFlag  Pod check flag
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_pack(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg,
                               uint32_t time_boot_ms, uint8_t target_system, uint8_t target_component, uint32_t nav_pack_cnt, uint8_t nav_status, uint8_t nav_flag, int32_t ax, int32_t ay, int32_t az, uint8_t PodStatus1, uint8_t PodStatus2, uint8_t PodStatus3, uint8_t PodStatus4, int16_t PodxShift, int16_t PodyShift, int16_t PodRoll, int16_t PodPitch, int16_t PodYaw, int16_t Podatt_Roll, int16_t Podatt_Pitch, int16_t PodrollAngleVelocity, int16_t PodpitchAngleVelocity, int16_t PodyawAngleVelocity, uint16_t PodLasDistance, uint8_t PodChekFlag)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN];
    _mav_put_uint32_t(buf, 0, time_boot_ms);
    _mav_put_uint32_t(buf, 4, nav_pack_cnt);
    _mav_put_int32_t(buf, 8, ax);
    _mav_put_int32_t(buf, 12, ay);
    _mav_put_int32_t(buf, 16, az);
    _mav_put_int16_t(buf, 20, PodxShift);
    _mav_put_int16_t(buf, 22, PodyShift);
    _mav_put_int16_t(buf, 24, PodRoll);
    _mav_put_int16_t(buf, 26, PodPitch);
    _mav_put_int16_t(buf, 28, PodYaw);
    _mav_put_int16_t(buf, 30, Podatt_Roll);
    _mav_put_int16_t(buf, 32, Podatt_Pitch);
    _mav_put_int16_t(buf, 34, PodrollAngleVelocity);
    _mav_put_int16_t(buf, 36, PodpitchAngleVelocity);
    _mav_put_int16_t(buf, 38, PodyawAngleVelocity);
    _mav_put_uint16_t(buf, 40, PodLasDistance);
    _mav_put_uint8_t(buf, 42, target_system);
    _mav_put_uint8_t(buf, 43, target_component);
    _mav_put_uint8_t(buf, 44, nav_status);
    _mav_put_uint8_t(buf, 45, nav_flag);
    _mav_put_uint8_t(buf, 46, PodStatus1);
    _mav_put_uint8_t(buf, 47, PodStatus2);
    _mav_put_uint8_t(buf, 48, PodStatus3);
    _mav_put_uint8_t(buf, 49, PodStatus4);
    _mav_put_uint8_t(buf, 50, PodChekFlag);

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#else
    mavlink_px4_to_agx_dedicate_info_t packet;
    packet.time_boot_ms = time_boot_ms;
    packet.nav_pack_cnt = nav_pack_cnt;
    packet.ax = ax;
    packet.ay = ay;
    packet.az = az;
    packet.PodxShift = PodxShift;
    packet.PodyShift = PodyShift;
    packet.PodRoll = PodRoll;
    packet.PodPitch = PodPitch;
    packet.PodYaw = PodYaw;
    packet.Podatt_Roll = Podatt_Roll;
    packet.Podatt_Pitch = Podatt_Pitch;
    packet.PodrollAngleVelocity = PodrollAngleVelocity;
    packet.PodpitchAngleVelocity = PodpitchAngleVelocity;
    packet.PodyawAngleVelocity = PodyawAngleVelocity;
    packet.PodLasDistance = PodLasDistance;
    packet.target_system = target_system;
    packet.target_component = target_component;
    packet.nav_status = nav_status;
    packet.nav_flag = nav_flag;
    packet.PodStatus1 = PodStatus1;
    packet.PodStatus2 = PodStatus2;
    packet.PodStatus3 = PodStatus3;
    packet.PodStatus4 = PodStatus4;
    packet.PodChekFlag = PodChekFlag;

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#endif

    msg->msgid = MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO;
    return mavlink_finalize_message(msg, system_id, component_id, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
}

/**
 * @brief Pack a px4_to_agx_dedicate_info message
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param status MAVLink status structure
 * @param msg The MAVLink message to compress the data into
 *
 * @param time_boot_ms [ms] Timestamp (time since system boot)
 * @param target_system  System ID
 * @param target_component  Component ID
 * @param nav_pack_cnt  navigation package counts
 * @param nav_status  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error
 * @param nav_flag  navigation flag, the exactly definition is unclear
 * @param ax  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param ay  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param az  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param PodStatus1  Status of pod 1, from seeker which is unused in software in ring simulation
 * @param PodStatus2  Status of pod 2
 * @param PodStatus3  Status of pod 3
 * @param PodStatus4  Status of pod 4
 * @param PodxShift  Shift in x-axis
 * @param PodyShift  Shift in y-axis
 * @param PodRoll  Roll angle of pod
 * @param PodPitch  Pitch angle of pod
 * @param PodYaw  Yaw angle of pod
 * @param Podatt_Roll  Roll angle of attitude
 * @param Podatt_Pitch  Pitch angle of attitude
 * @param PodrollAngleVelocity  Roll angle velocity of pod
 * @param PodpitchAngleVelocity  Pitch angle velocity of pod
 * @param PodyawAngleVelocity  Yaw angle velocity of pod
 * @param PodLasDistance  Last measured distance by pod
 * @param PodChekFlag  Pod check flag
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_pack_status(uint8_t system_id, uint8_t component_id, mavlink_status_t *_status, mavlink_message_t* msg,
                               uint32_t time_boot_ms, uint8_t target_system, uint8_t target_component, uint32_t nav_pack_cnt, uint8_t nav_status, uint8_t nav_flag, int32_t ax, int32_t ay, int32_t az, uint8_t PodStatus1, uint8_t PodStatus2, uint8_t PodStatus3, uint8_t PodStatus4, int16_t PodxShift, int16_t PodyShift, int16_t PodRoll, int16_t PodPitch, int16_t PodYaw, int16_t Podatt_Roll, int16_t Podatt_Pitch, int16_t PodrollAngleVelocity, int16_t PodpitchAngleVelocity, int16_t PodyawAngleVelocity, uint16_t PodLasDistance, uint8_t PodChekFlag)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN];
    _mav_put_uint32_t(buf, 0, time_boot_ms);
    _mav_put_uint32_t(buf, 4, nav_pack_cnt);
    _mav_put_int32_t(buf, 8, ax);
    _mav_put_int32_t(buf, 12, ay);
    _mav_put_int32_t(buf, 16, az);
    _mav_put_int16_t(buf, 20, PodxShift);
    _mav_put_int16_t(buf, 22, PodyShift);
    _mav_put_int16_t(buf, 24, PodRoll);
    _mav_put_int16_t(buf, 26, PodPitch);
    _mav_put_int16_t(buf, 28, PodYaw);
    _mav_put_int16_t(buf, 30, Podatt_Roll);
    _mav_put_int16_t(buf, 32, Podatt_Pitch);
    _mav_put_int16_t(buf, 34, PodrollAngleVelocity);
    _mav_put_int16_t(buf, 36, PodpitchAngleVelocity);
    _mav_put_int16_t(buf, 38, PodyawAngleVelocity);
    _mav_put_uint16_t(buf, 40, PodLasDistance);
    _mav_put_uint8_t(buf, 42, target_system);
    _mav_put_uint8_t(buf, 43, target_component);
    _mav_put_uint8_t(buf, 44, nav_status);
    _mav_put_uint8_t(buf, 45, nav_flag);
    _mav_put_uint8_t(buf, 46, PodStatus1);
    _mav_put_uint8_t(buf, 47, PodStatus2);
    _mav_put_uint8_t(buf, 48, PodStatus3);
    _mav_put_uint8_t(buf, 49, PodStatus4);
    _mav_put_uint8_t(buf, 50, PodChekFlag);

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#else
    mavlink_px4_to_agx_dedicate_info_t packet;
    packet.time_boot_ms = time_boot_ms;
    packet.nav_pack_cnt = nav_pack_cnt;
    packet.ax = ax;
    packet.ay = ay;
    packet.az = az;
    packet.PodxShift = PodxShift;
    packet.PodyShift = PodyShift;
    packet.PodRoll = PodRoll;
    packet.PodPitch = PodPitch;
    packet.PodYaw = PodYaw;
    packet.Podatt_Roll = Podatt_Roll;
    packet.Podatt_Pitch = Podatt_Pitch;
    packet.PodrollAngleVelocity = PodrollAngleVelocity;
    packet.PodpitchAngleVelocity = PodpitchAngleVelocity;
    packet.PodyawAngleVelocity = PodyawAngleVelocity;
    packet.PodLasDistance = PodLasDistance;
    packet.target_system = target_system;
    packet.target_component = target_component;
    packet.nav_status = nav_status;
    packet.nav_flag = nav_flag;
    packet.PodStatus1 = PodStatus1;
    packet.PodStatus2 = PodStatus2;
    packet.PodStatus3 = PodStatus3;
    packet.PodStatus4 = PodStatus4;
    packet.PodChekFlag = PodChekFlag;

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#endif

    msg->msgid = MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO;
#if MAVLINK_CRC_EXTRA
    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#else
    return mavlink_finalize_message_buffer(msg, system_id, component_id, _status, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#endif
}

/**
 * @brief Pack a px4_to_agx_dedicate_info message on a channel
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param chan The MAVLink channel this message will be sent over
 * @param msg The MAVLink message to compress the data into
 * @param time_boot_ms [ms] Timestamp (time since system boot)
 * @param target_system  System ID
 * @param target_component  Component ID
 * @param nav_pack_cnt  navigation package counts
 * @param nav_status  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error
 * @param nav_flag  navigation flag, the exactly definition is unclear
 * @param ax  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param ay  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param az  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param PodStatus1  Status of pod 1, from seeker which is unused in software in ring simulation
 * @param PodStatus2  Status of pod 2
 * @param PodStatus3  Status of pod 3
 * @param PodStatus4  Status of pod 4
 * @param PodxShift  Shift in x-axis
 * @param PodyShift  Shift in y-axis
 * @param PodRoll  Roll angle of pod
 * @param PodPitch  Pitch angle of pod
 * @param PodYaw  Yaw angle of pod
 * @param Podatt_Roll  Roll angle of attitude
 * @param Podatt_Pitch  Pitch angle of attitude
 * @param PodrollAngleVelocity  Roll angle velocity of pod
 * @param PodpitchAngleVelocity  Pitch angle velocity of pod
 * @param PodyawAngleVelocity  Yaw angle velocity of pod
 * @param PodLasDistance  Last measured distance by pod
 * @param PodChekFlag  Pod check flag
 * @return length of the message in bytes (excluding serial stream start sign)
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_pack_chan(uint8_t system_id, uint8_t component_id, uint8_t chan,
                               mavlink_message_t* msg,
                                   uint32_t time_boot_ms,uint8_t target_system,uint8_t target_component,uint32_t nav_pack_cnt,uint8_t nav_status,uint8_t nav_flag,int32_t ax,int32_t ay,int32_t az,uint8_t PodStatus1,uint8_t PodStatus2,uint8_t PodStatus3,uint8_t PodStatus4,int16_t PodxShift,int16_t PodyShift,int16_t PodRoll,int16_t PodPitch,int16_t PodYaw,int16_t Podatt_Roll,int16_t Podatt_Pitch,int16_t PodrollAngleVelocity,int16_t PodpitchAngleVelocity,int16_t PodyawAngleVelocity,uint16_t PodLasDistance,uint8_t PodChekFlag)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN];
    _mav_put_uint32_t(buf, 0, time_boot_ms);
    _mav_put_uint32_t(buf, 4, nav_pack_cnt);
    _mav_put_int32_t(buf, 8, ax);
    _mav_put_int32_t(buf, 12, ay);
    _mav_put_int32_t(buf, 16, az);
    _mav_put_int16_t(buf, 20, PodxShift);
    _mav_put_int16_t(buf, 22, PodyShift);
    _mav_put_int16_t(buf, 24, PodRoll);
    _mav_put_int16_t(buf, 26, PodPitch);
    _mav_put_int16_t(buf, 28, PodYaw);
    _mav_put_int16_t(buf, 30, Podatt_Roll);
    _mav_put_int16_t(buf, 32, Podatt_Pitch);
    _mav_put_int16_t(buf, 34, PodrollAngleVelocity);
    _mav_put_int16_t(buf, 36, PodpitchAngleVelocity);
    _mav_put_int16_t(buf, 38, PodyawAngleVelocity);
    _mav_put_uint16_t(buf, 40, PodLasDistance);
    _mav_put_uint8_t(buf, 42, target_system);
    _mav_put_uint8_t(buf, 43, target_component);
    _mav_put_uint8_t(buf, 44, nav_status);
    _mav_put_uint8_t(buf, 45, nav_flag);
    _mav_put_uint8_t(buf, 46, PodStatus1);
    _mav_put_uint8_t(buf, 47, PodStatus2);
    _mav_put_uint8_t(buf, 48, PodStatus3);
    _mav_put_uint8_t(buf, 49, PodStatus4);
    _mav_put_uint8_t(buf, 50, PodChekFlag);

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), buf, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#else
    mavlink_px4_to_agx_dedicate_info_t packet;
    packet.time_boot_ms = time_boot_ms;
    packet.nav_pack_cnt = nav_pack_cnt;
    packet.ax = ax;
    packet.ay = ay;
    packet.az = az;
    packet.PodxShift = PodxShift;
    packet.PodyShift = PodyShift;
    packet.PodRoll = PodRoll;
    packet.PodPitch = PodPitch;
    packet.PodYaw = PodYaw;
    packet.Podatt_Roll = Podatt_Roll;
    packet.Podatt_Pitch = Podatt_Pitch;
    packet.PodrollAngleVelocity = PodrollAngleVelocity;
    packet.PodpitchAngleVelocity = PodpitchAngleVelocity;
    packet.PodyawAngleVelocity = PodyawAngleVelocity;
    packet.PodLasDistance = PodLasDistance;
    packet.target_system = target_system;
    packet.target_component = target_component;
    packet.nav_status = nav_status;
    packet.nav_flag = nav_flag;
    packet.PodStatus1 = PodStatus1;
    packet.PodStatus2 = PodStatus2;
    packet.PodStatus3 = PodStatus3;
    packet.PodStatus4 = PodStatus4;
    packet.PodChekFlag = PodChekFlag;

        memcpy(_MAV_PAYLOAD_NON_CONST(msg), &packet, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
#endif

    msg->msgid = MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO;
    return mavlink_finalize_message_chan(msg, system_id, component_id, chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
}

/**
 * @brief Encode a px4_to_agx_dedicate_info struct
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param msg The MAVLink message to compress the data into
 * @param px4_to_agx_dedicate_info C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_encode(uint8_t system_id, uint8_t component_id, mavlink_message_t* msg, const mavlink_px4_to_agx_dedicate_info_t* px4_to_agx_dedicate_info)
{
    return mavlink_msg_px4_to_agx_dedicate_info_pack(system_id, component_id, msg, px4_to_agx_dedicate_info->time_boot_ms, px4_to_agx_dedicate_info->target_system, px4_to_agx_dedicate_info->target_component, px4_to_agx_dedicate_info->nav_pack_cnt, px4_to_agx_dedicate_info->nav_status, px4_to_agx_dedicate_info->nav_flag, px4_to_agx_dedicate_info->ax, px4_to_agx_dedicate_info->ay, px4_to_agx_dedicate_info->az, px4_to_agx_dedicate_info->PodStatus1, px4_to_agx_dedicate_info->PodStatus2, px4_to_agx_dedicate_info->PodStatus3, px4_to_agx_dedicate_info->PodStatus4, px4_to_agx_dedicate_info->PodxShift, px4_to_agx_dedicate_info->PodyShift, px4_to_agx_dedicate_info->PodRoll, px4_to_agx_dedicate_info->PodPitch, px4_to_agx_dedicate_info->PodYaw, px4_to_agx_dedicate_info->Podatt_Roll, px4_to_agx_dedicate_info->Podatt_Pitch, px4_to_agx_dedicate_info->PodrollAngleVelocity, px4_to_agx_dedicate_info->PodpitchAngleVelocity, px4_to_agx_dedicate_info->PodyawAngleVelocity, px4_to_agx_dedicate_info->PodLasDistance, px4_to_agx_dedicate_info->PodChekFlag);
}

/**
 * @brief Encode a px4_to_agx_dedicate_info struct on a channel
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param chan The MAVLink channel this message will be sent over
 * @param msg The MAVLink message to compress the data into
 * @param px4_to_agx_dedicate_info C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_encode_chan(uint8_t system_id, uint8_t component_id, uint8_t chan, mavlink_message_t* msg, const mavlink_px4_to_agx_dedicate_info_t* px4_to_agx_dedicate_info)
{
    return mavlink_msg_px4_to_agx_dedicate_info_pack_chan(system_id, component_id, chan, msg, px4_to_agx_dedicate_info->time_boot_ms, px4_to_agx_dedicate_info->target_system, px4_to_agx_dedicate_info->target_component, px4_to_agx_dedicate_info->nav_pack_cnt, px4_to_agx_dedicate_info->nav_status, px4_to_agx_dedicate_info->nav_flag, px4_to_agx_dedicate_info->ax, px4_to_agx_dedicate_info->ay, px4_to_agx_dedicate_info->az, px4_to_agx_dedicate_info->PodStatus1, px4_to_agx_dedicate_info->PodStatus2, px4_to_agx_dedicate_info->PodStatus3, px4_to_agx_dedicate_info->PodStatus4, px4_to_agx_dedicate_info->PodxShift, px4_to_agx_dedicate_info->PodyShift, px4_to_agx_dedicate_info->PodRoll, px4_to_agx_dedicate_info->PodPitch, px4_to_agx_dedicate_info->PodYaw, px4_to_agx_dedicate_info->Podatt_Roll, px4_to_agx_dedicate_info->Podatt_Pitch, px4_to_agx_dedicate_info->PodrollAngleVelocity, px4_to_agx_dedicate_info->PodpitchAngleVelocity, px4_to_agx_dedicate_info->PodyawAngleVelocity, px4_to_agx_dedicate_info->PodLasDistance, px4_to_agx_dedicate_info->PodChekFlag);
}

/**
 * @brief Encode a px4_to_agx_dedicate_info struct with provided status structure
 *
 * @param system_id ID of this system
 * @param component_id ID of this component (e.g. 200 for IMU)
 * @param status MAVLink status structure
 * @param msg The MAVLink message to compress the data into
 * @param px4_to_agx_dedicate_info C-struct to read the message contents from
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_encode_status(uint8_t system_id, uint8_t component_id, mavlink_status_t* _status, mavlink_message_t* msg, const mavlink_px4_to_agx_dedicate_info_t* px4_to_agx_dedicate_info)
{
    return mavlink_msg_px4_to_agx_dedicate_info_pack_status(system_id, component_id, _status, msg,  px4_to_agx_dedicate_info->time_boot_ms, px4_to_agx_dedicate_info->target_system, px4_to_agx_dedicate_info->target_component, px4_to_agx_dedicate_info->nav_pack_cnt, px4_to_agx_dedicate_info->nav_status, px4_to_agx_dedicate_info->nav_flag, px4_to_agx_dedicate_info->ax, px4_to_agx_dedicate_info->ay, px4_to_agx_dedicate_info->az, px4_to_agx_dedicate_info->PodStatus1, px4_to_agx_dedicate_info->PodStatus2, px4_to_agx_dedicate_info->PodStatus3, px4_to_agx_dedicate_info->PodStatus4, px4_to_agx_dedicate_info->PodxShift, px4_to_agx_dedicate_info->PodyShift, px4_to_agx_dedicate_info->PodRoll, px4_to_agx_dedicate_info->PodPitch, px4_to_agx_dedicate_info->PodYaw, px4_to_agx_dedicate_info->Podatt_Roll, px4_to_agx_dedicate_info->Podatt_Pitch, px4_to_agx_dedicate_info->PodrollAngleVelocity, px4_to_agx_dedicate_info->PodpitchAngleVelocity, px4_to_agx_dedicate_info->PodyawAngleVelocity, px4_to_agx_dedicate_info->PodLasDistance, px4_to_agx_dedicate_info->PodChekFlag);
}

/**
 * @brief Send a px4_to_agx_dedicate_info message
 * @param chan MAVLink channel to send the message
 *
 * @param time_boot_ms [ms] Timestamp (time since system boot)
 * @param target_system  System ID
 * @param target_component  Component ID
 * @param nav_pack_cnt  navigation package counts
 * @param nav_status  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error
 * @param nav_flag  navigation flag, the exactly definition is unclear
 * @param ax  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param ay  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param az  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 * @param PodStatus1  Status of pod 1, from seeker which is unused in software in ring simulation
 * @param PodStatus2  Status of pod 2
 * @param PodStatus3  Status of pod 3
 * @param PodStatus4  Status of pod 4
 * @param PodxShift  Shift in x-axis
 * @param PodyShift  Shift in y-axis
 * @param PodRoll  Roll angle of pod
 * @param PodPitch  Pitch angle of pod
 * @param PodYaw  Yaw angle of pod
 * @param Podatt_Roll  Roll angle of attitude
 * @param Podatt_Pitch  Pitch angle of attitude
 * @param PodrollAngleVelocity  Roll angle velocity of pod
 * @param PodpitchAngleVelocity  Pitch angle velocity of pod
 * @param PodyawAngleVelocity  Yaw angle velocity of pod
 * @param PodLasDistance  Last measured distance by pod
 * @param PodChekFlag  Pod check flag
 */
#ifdef MAVLINK_USE_CONVENIENCE_FUNCTIONS

static inline void mavlink_msg_px4_to_agx_dedicate_info_send(mavlink_channel_t chan, uint32_t time_boot_ms, uint8_t target_system, uint8_t target_component, uint32_t nav_pack_cnt, uint8_t nav_status, uint8_t nav_flag, int32_t ax, int32_t ay, int32_t az, uint8_t PodStatus1, uint8_t PodStatus2, uint8_t PodStatus3, uint8_t PodStatus4, int16_t PodxShift, int16_t PodyShift, int16_t PodRoll, int16_t PodPitch, int16_t PodYaw, int16_t Podatt_Roll, int16_t Podatt_Pitch, int16_t PodrollAngleVelocity, int16_t PodpitchAngleVelocity, int16_t PodyawAngleVelocity, uint16_t PodLasDistance, uint8_t PodChekFlag)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char buf[MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN];
    _mav_put_uint32_t(buf, 0, time_boot_ms);
    _mav_put_uint32_t(buf, 4, nav_pack_cnt);
    _mav_put_int32_t(buf, 8, ax);
    _mav_put_int32_t(buf, 12, ay);
    _mav_put_int32_t(buf, 16, az);
    _mav_put_int16_t(buf, 20, PodxShift);
    _mav_put_int16_t(buf, 22, PodyShift);
    _mav_put_int16_t(buf, 24, PodRoll);
    _mav_put_int16_t(buf, 26, PodPitch);
    _mav_put_int16_t(buf, 28, PodYaw);
    _mav_put_int16_t(buf, 30, Podatt_Roll);
    _mav_put_int16_t(buf, 32, Podatt_Pitch);
    _mav_put_int16_t(buf, 34, PodrollAngleVelocity);
    _mav_put_int16_t(buf, 36, PodpitchAngleVelocity);
    _mav_put_int16_t(buf, 38, PodyawAngleVelocity);
    _mav_put_uint16_t(buf, 40, PodLasDistance);
    _mav_put_uint8_t(buf, 42, target_system);
    _mav_put_uint8_t(buf, 43, target_component);
    _mav_put_uint8_t(buf, 44, nav_status);
    _mav_put_uint8_t(buf, 45, nav_flag);
    _mav_put_uint8_t(buf, 46, PodStatus1);
    _mav_put_uint8_t(buf, 47, PodStatus2);
    _mav_put_uint8_t(buf, 48, PodStatus3);
    _mav_put_uint8_t(buf, 49, PodStatus4);
    _mav_put_uint8_t(buf, 50, PodChekFlag);

    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO, buf, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#else
    mavlink_px4_to_agx_dedicate_info_t packet;
    packet.time_boot_ms = time_boot_ms;
    packet.nav_pack_cnt = nav_pack_cnt;
    packet.ax = ax;
    packet.ay = ay;
    packet.az = az;
    packet.PodxShift = PodxShift;
    packet.PodyShift = PodyShift;
    packet.PodRoll = PodRoll;
    packet.PodPitch = PodPitch;
    packet.PodYaw = PodYaw;
    packet.Podatt_Roll = Podatt_Roll;
    packet.Podatt_Pitch = Podatt_Pitch;
    packet.PodrollAngleVelocity = PodrollAngleVelocity;
    packet.PodpitchAngleVelocity = PodpitchAngleVelocity;
    packet.PodyawAngleVelocity = PodyawAngleVelocity;
    packet.PodLasDistance = PodLasDistance;
    packet.target_system = target_system;
    packet.target_component = target_component;
    packet.nav_status = nav_status;
    packet.nav_flag = nav_flag;
    packet.PodStatus1 = PodStatus1;
    packet.PodStatus2 = PodStatus2;
    packet.PodStatus3 = PodStatus3;
    packet.PodStatus4 = PodStatus4;
    packet.PodChekFlag = PodChekFlag;

    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO, (const char *)&packet, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#endif
}

/**
 * @brief Send a px4_to_agx_dedicate_info message
 * @param chan MAVLink channel to send the message
 * @param struct The MAVLink struct to serialize
 */
static inline void mavlink_msg_px4_to_agx_dedicate_info_send_struct(mavlink_channel_t chan, const mavlink_px4_to_agx_dedicate_info_t* px4_to_agx_dedicate_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    mavlink_msg_px4_to_agx_dedicate_info_send(chan, px4_to_agx_dedicate_info->time_boot_ms, px4_to_agx_dedicate_info->target_system, px4_to_agx_dedicate_info->target_component, px4_to_agx_dedicate_info->nav_pack_cnt, px4_to_agx_dedicate_info->nav_status, px4_to_agx_dedicate_info->nav_flag, px4_to_agx_dedicate_info->ax, px4_to_agx_dedicate_info->ay, px4_to_agx_dedicate_info->az, px4_to_agx_dedicate_info->PodStatus1, px4_to_agx_dedicate_info->PodStatus2, px4_to_agx_dedicate_info->PodStatus3, px4_to_agx_dedicate_info->PodStatus4, px4_to_agx_dedicate_info->PodxShift, px4_to_agx_dedicate_info->PodyShift, px4_to_agx_dedicate_info->PodRoll, px4_to_agx_dedicate_info->PodPitch, px4_to_agx_dedicate_info->PodYaw, px4_to_agx_dedicate_info->Podatt_Roll, px4_to_agx_dedicate_info->Podatt_Pitch, px4_to_agx_dedicate_info->PodrollAngleVelocity, px4_to_agx_dedicate_info->PodpitchAngleVelocity, px4_to_agx_dedicate_info->PodyawAngleVelocity, px4_to_agx_dedicate_info->PodLasDistance, px4_to_agx_dedicate_info->PodChekFlag);
#else
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO, (const char *)px4_to_agx_dedicate_info, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#endif
}

#if MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN <= MAVLINK_MAX_PAYLOAD_LEN
/*
  This variant of _send() can be used to save stack space by re-using
  memory from the receive buffer.  The caller provides a
  mavlink_message_t which is the size of a full mavlink message. This
  is usually the receive buffer for the channel, and allows a reply to an
  incoming message with minimum stack space usage.
 */
static inline void mavlink_msg_px4_to_agx_dedicate_info_send_buf(mavlink_message_t *msgbuf, mavlink_channel_t chan,  uint32_t time_boot_ms, uint8_t target_system, uint8_t target_component, uint32_t nav_pack_cnt, uint8_t nav_status, uint8_t nav_flag, int32_t ax, int32_t ay, int32_t az, uint8_t PodStatus1, uint8_t PodStatus2, uint8_t PodStatus3, uint8_t PodStatus4, int16_t PodxShift, int16_t PodyShift, int16_t PodRoll, int16_t PodPitch, int16_t PodYaw, int16_t Podatt_Roll, int16_t Podatt_Pitch, int16_t PodrollAngleVelocity, int16_t PodpitchAngleVelocity, int16_t PodyawAngleVelocity, uint16_t PodLasDistance, uint8_t PodChekFlag)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    char *buf = (char *)msgbuf;
    _mav_put_uint32_t(buf, 0, time_boot_ms);
    _mav_put_uint32_t(buf, 4, nav_pack_cnt);
    _mav_put_int32_t(buf, 8, ax);
    _mav_put_int32_t(buf, 12, ay);
    _mav_put_int32_t(buf, 16, az);
    _mav_put_int16_t(buf, 20, PodxShift);
    _mav_put_int16_t(buf, 22, PodyShift);
    _mav_put_int16_t(buf, 24, PodRoll);
    _mav_put_int16_t(buf, 26, PodPitch);
    _mav_put_int16_t(buf, 28, PodYaw);
    _mav_put_int16_t(buf, 30, Podatt_Roll);
    _mav_put_int16_t(buf, 32, Podatt_Pitch);
    _mav_put_int16_t(buf, 34, PodrollAngleVelocity);
    _mav_put_int16_t(buf, 36, PodpitchAngleVelocity);
    _mav_put_int16_t(buf, 38, PodyawAngleVelocity);
    _mav_put_uint16_t(buf, 40, PodLasDistance);
    _mav_put_uint8_t(buf, 42, target_system);
    _mav_put_uint8_t(buf, 43, target_component);
    _mav_put_uint8_t(buf, 44, nav_status);
    _mav_put_uint8_t(buf, 45, nav_flag);
    _mav_put_uint8_t(buf, 46, PodStatus1);
    _mav_put_uint8_t(buf, 47, PodStatus2);
    _mav_put_uint8_t(buf, 48, PodStatus3);
    _mav_put_uint8_t(buf, 49, PodStatus4);
    _mav_put_uint8_t(buf, 50, PodChekFlag);

    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO, buf, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#else
    mavlink_px4_to_agx_dedicate_info_t *packet = (mavlink_px4_to_agx_dedicate_info_t *)msgbuf;
    packet->time_boot_ms = time_boot_ms;
    packet->nav_pack_cnt = nav_pack_cnt;
    packet->ax = ax;
    packet->ay = ay;
    packet->az = az;
    packet->PodxShift = PodxShift;
    packet->PodyShift = PodyShift;
    packet->PodRoll = PodRoll;
    packet->PodPitch = PodPitch;
    packet->PodYaw = PodYaw;
    packet->Podatt_Roll = Podatt_Roll;
    packet->Podatt_Pitch = Podatt_Pitch;
    packet->PodrollAngleVelocity = PodrollAngleVelocity;
    packet->PodpitchAngleVelocity = PodpitchAngleVelocity;
    packet->PodyawAngleVelocity = PodyawAngleVelocity;
    packet->PodLasDistance = PodLasDistance;
    packet->target_system = target_system;
    packet->target_component = target_component;
    packet->nav_status = nav_status;
    packet->nav_flag = nav_flag;
    packet->PodStatus1 = PodStatus1;
    packet->PodStatus2 = PodStatus2;
    packet->PodStatus3 = PodStatus3;
    packet->PodStatus4 = PodStatus4;
    packet->PodChekFlag = PodChekFlag;

    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO, (const char *)packet, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_MIN_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_CRC);
#endif
}
#endif

#endif

// MESSAGE PX4_TO_AGX_DEDICATE_INFO UNPACKING


/**
 * @brief Get field time_boot_ms from px4_to_agx_dedicate_info message
 *
 * @return [ms] Timestamp (time since system boot)
 */
static inline uint32_t mavlink_msg_px4_to_agx_dedicate_info_get_time_boot_ms(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  0);
}

/**
 * @brief Get field target_system from px4_to_agx_dedicate_info message
 *
 * @return  System ID
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_target_system(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  42);
}

/**
 * @brief Get field target_component from px4_to_agx_dedicate_info message
 *
 * @return  Component ID
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_target_component(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  43);
}

/**
 * @brief Get field nav_pack_cnt from px4_to_agx_dedicate_info message
 *
 * @return  navigation package counts
 */
static inline uint32_t mavlink_msg_px4_to_agx_dedicate_info_get_nav_pack_cnt(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint32_t(msg,  4);
}

/**
 * @brief Get field nav_status from px4_to_agx_dedicate_info message
 *
 * @return  navigation status, 0x11 :visual and inertial; 0x22 inertial ; 0x33 error
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_nav_status(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  44);
}

/**
 * @brief Get field nav_flag from px4_to_agx_dedicate_info message
 *
 * @return  navigation flag, the exactly definition is unclear
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_nav_flag(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  45);
}

/**
 * @brief Get field ax from px4_to_agx_dedicate_info message
 *
 * @return  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 */
static inline int32_t mavlink_msg_px4_to_agx_dedicate_info_get_ax(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int32_t(msg,  8);
}

/**
 * @brief Get field ay from px4_to_agx_dedicate_info message
 *
 * @return  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 */
static inline int32_t mavlink_msg_px4_to_agx_dedicate_info_get_ay(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int32_t(msg,  12);
}

/**
 * @brief Get field az from px4_to_agx_dedicate_info message
 *
 * @return  10e-4m/s/s Projection of the acceleration excluding Earth's gravity in the body coordinate system
 */
static inline int32_t mavlink_msg_px4_to_agx_dedicate_info_get_az(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int32_t(msg,  16);
}

/**
 * @brief Get field PodStatus1 from px4_to_agx_dedicate_info message
 *
 * @return  Status of pod 1, from seeker which is unused in software in ring simulation
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus1(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  46);
}

/**
 * @brief Get field PodStatus2 from px4_to_agx_dedicate_info message
 *
 * @return  Status of pod 2
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus2(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  47);
}

/**
 * @brief Get field PodStatus3 from px4_to_agx_dedicate_info message
 *
 * @return  Status of pod 3
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus3(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  48);
}

/**
 * @brief Get field PodStatus4 from px4_to_agx_dedicate_info message
 *
 * @return  Status of pod 4
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus4(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  49);
}

/**
 * @brief Get field PodxShift from px4_to_agx_dedicate_info message
 *
 * @return  Shift in x-axis
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodxShift(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  20);
}

/**
 * @brief Get field PodyShift from px4_to_agx_dedicate_info message
 *
 * @return  Shift in y-axis
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodyShift(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  22);
}

/**
 * @brief Get field PodRoll from px4_to_agx_dedicate_info message
 *
 * @return  Roll angle of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodRoll(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  24);
}

/**
 * @brief Get field PodPitch from px4_to_agx_dedicate_info message
 *
 * @return  Pitch angle of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodPitch(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  26);
}

/**
 * @brief Get field PodYaw from px4_to_agx_dedicate_info message
 *
 * @return  Yaw angle of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodYaw(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  28);
}

/**
 * @brief Get field Podatt_Roll from px4_to_agx_dedicate_info message
 *
 * @return  Roll angle of attitude
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_Podatt_Roll(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  30);
}

/**
 * @brief Get field Podatt_Pitch from px4_to_agx_dedicate_info message
 *
 * @return  Pitch angle of attitude
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_Podatt_Pitch(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  32);
}

/**
 * @brief Get field PodrollAngleVelocity from px4_to_agx_dedicate_info message
 *
 * @return  Roll angle velocity of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodrollAngleVelocity(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  34);
}

/**
 * @brief Get field PodpitchAngleVelocity from px4_to_agx_dedicate_info message
 *
 * @return  Pitch angle velocity of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodpitchAngleVelocity(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  36);
}

/**
 * @brief Get field PodyawAngleVelocity from px4_to_agx_dedicate_info message
 *
 * @return  Yaw angle velocity of pod
 */
static inline int16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodyawAngleVelocity(const mavlink_message_t* msg)
{
    return _MAV_RETURN_int16_t(msg,  38);
}

/**
 * @brief Get field PodLasDistance from px4_to_agx_dedicate_info message
 *
 * @return  Last measured distance by pod
 */
static inline uint16_t mavlink_msg_px4_to_agx_dedicate_info_get_PodLasDistance(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint16_t(msg,  40);
}

/**
 * @brief Get field PodChekFlag from px4_to_agx_dedicate_info message
 *
 * @return  Pod check flag
 */
static inline uint8_t mavlink_msg_px4_to_agx_dedicate_info_get_PodChekFlag(const mavlink_message_t* msg)
{
    return _MAV_RETURN_uint8_t(msg,  50);
}

/**
 * @brief Decode a px4_to_agx_dedicate_info message into a struct
 *
 * @param msg The message to decode
 * @param px4_to_agx_dedicate_info C-struct to decode the message contents into
 */
static inline void mavlink_msg_px4_to_agx_dedicate_info_decode(const mavlink_message_t* msg, mavlink_px4_to_agx_dedicate_info_t* px4_to_agx_dedicate_info)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    px4_to_agx_dedicate_info->time_boot_ms = mavlink_msg_px4_to_agx_dedicate_info_get_time_boot_ms(msg);
    px4_to_agx_dedicate_info->nav_pack_cnt = mavlink_msg_px4_to_agx_dedicate_info_get_nav_pack_cnt(msg);
    px4_to_agx_dedicate_info->ax = mavlink_msg_px4_to_agx_dedicate_info_get_ax(msg);
    px4_to_agx_dedicate_info->ay = mavlink_msg_px4_to_agx_dedicate_info_get_ay(msg);
    px4_to_agx_dedicate_info->az = mavlink_msg_px4_to_agx_dedicate_info_get_az(msg);
    px4_to_agx_dedicate_info->PodxShift = mavlink_msg_px4_to_agx_dedicate_info_get_PodxShift(msg);
    px4_to_agx_dedicate_info->PodyShift = mavlink_msg_px4_to_agx_dedicate_info_get_PodyShift(msg);
    px4_to_agx_dedicate_info->PodRoll = mavlink_msg_px4_to_agx_dedicate_info_get_PodRoll(msg);
    px4_to_agx_dedicate_info->PodPitch = mavlink_msg_px4_to_agx_dedicate_info_get_PodPitch(msg);
    px4_to_agx_dedicate_info->PodYaw = mavlink_msg_px4_to_agx_dedicate_info_get_PodYaw(msg);
    px4_to_agx_dedicate_info->Podatt_Roll = mavlink_msg_px4_to_agx_dedicate_info_get_Podatt_Roll(msg);
    px4_to_agx_dedicate_info->Podatt_Pitch = mavlink_msg_px4_to_agx_dedicate_info_get_Podatt_Pitch(msg);
    px4_to_agx_dedicate_info->PodrollAngleVelocity = mavlink_msg_px4_to_agx_dedicate_info_get_PodrollAngleVelocity(msg);
    px4_to_agx_dedicate_info->PodpitchAngleVelocity = mavlink_msg_px4_to_agx_dedicate_info_get_PodpitchAngleVelocity(msg);
    px4_to_agx_dedicate_info->PodyawAngleVelocity = mavlink_msg_px4_to_agx_dedicate_info_get_PodyawAngleVelocity(msg);
    px4_to_agx_dedicate_info->PodLasDistance = mavlink_msg_px4_to_agx_dedicate_info_get_PodLasDistance(msg);
    px4_to_agx_dedicate_info->target_system = mavlink_msg_px4_to_agx_dedicate_info_get_target_system(msg);
    px4_to_agx_dedicate_info->target_component = mavlink_msg_px4_to_agx_dedicate_info_get_target_component(msg);
    px4_to_agx_dedicate_info->nav_status = mavlink_msg_px4_to_agx_dedicate_info_get_nav_status(msg);
    px4_to_agx_dedicate_info->nav_flag = mavlink_msg_px4_to_agx_dedicate_info_get_nav_flag(msg);
    px4_to_agx_dedicate_info->PodStatus1 = mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus1(msg);
    px4_to_agx_dedicate_info->PodStatus2 = mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus2(msg);
    px4_to_agx_dedicate_info->PodStatus3 = mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus3(msg);
    px4_to_agx_dedicate_info->PodStatus4 = mavlink_msg_px4_to_agx_dedicate_info_get_PodStatus4(msg);
    px4_to_agx_dedicate_info->PodChekFlag = mavlink_msg_px4_to_agx_dedicate_info_get_PodChekFlag(msg);
#else
        uint8_t len = msg->len < MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN? msg->len : MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN;
        memset(px4_to_agx_dedicate_info, 0, MAVLINK_MSG_ID_PX4_TO_AGX_DEDICATE_INFO_LEN);
    memcpy(px4_to_agx_dedicate_info, _MAV_PAYLOAD(msg), len);
#endif
}
